// 用于存储JS的工具函数
// 函数封装：遵循小而美的原则
//1.使用方便，灵活服用 2.实现功能的函数代码简介3.函数的性能
//心法：复用封函数，变化改参数

/**
 * @description 通过指定选择器获取对应函数节点
 * @param { string } selector 选择器
 * @returns 函数节点
 */

/* function $() {
	return document.querySelector(selector);
}
 */

function $(selector) {
	let nodeList = document.querySelectorAll(selector);
	if (nodeList.length === 0) {
		return console.warn(`未获取${selector}节点`);
	}
	if (nodeList.length === 1) {
		return nodeList[0];
	}
	if (nodeList.length > 1) {
		return nodeList;
	}
}
/**
 * @description 返回顶部
 * @param {*} selector
 * @returns void
 */
function toTop(selector) {
	document.querySelector(selector).addEventListener("click", function () {
		window.scroll({
			top: 0,
			left: 0,
			behavior: "smooth",
		});
	});
}


/**
 * 
 * @param {*} tabSelector tab栏选择器 
 * @param {*} tabClassName  tab栏增加类
 * @param {*} contSelector  内容栏选择器
 * @param {*} contClassName  内容栏增加类
 */
function tab(tabSelector, tabClassName, contSelector, contClassName) {
	$(tabSelector).forEach(function(v,i){
		v.addEventListener("click",function(){
			$(tabSelector).forEach(function(item,index){
				item.classList.remove(tabClassName);
				if(contSelector){
				$(contSelector)[index].classList.remove(contClassName);
				}
			})
			this.classList.add(tabClassName);
			if (contSelector) {
			$(contSelector)[i].classList.add(contClassName);
			}
		})
	})
}